In some video devices which utilize a single semiconductor image sensor, the image is passed through a color filter array prior to reaching the sensor. Depending upon the configuration of the filter array, a pattern of red, green and blue pixels may be established. For example, a line of pixels output from the imager may have the following pattern: GGGRGGGBGGG . . . , where G, R, and B represent green, red and blue pixels. A discussion of missing pixels associated with the use of a color filter array in combination with a single sensor is set forth in further detail in U.S. Pat. No. 4,663,661 by Weldy, et al, which is assigned to the assignee of the present invention, and which is incorporated herein by reference.
In a missing pixel interpolation scheme, informaton from neighboring pixels is often used as an approximation for the value of the missing pixel. For example, in the aforementioned imager output of GGGRGGG . . . , it is apparent that a green pixel is missing from the fourth pixel position from the left. One method of providing an estimate of the missing green pixel value is to compute an arithmetic average of the linear values of the green pixels which neighbor to the left and right of the missing green pixel.
However, it is sometimes the case that the pixel signals output from the imager are first converted into a nonlinear form, such as logarithmic form, and then averaged as part of a missing pixel interpolation. It has been found that averaging the logarithmic equivalents of these pixel values is unsatisfactory for missing pixel interpolation. More specifically, as the difference in intensities between the pixels which neighbor the missing pixel increases, the greater the deviation of their logarithmic average from the log of their linear average.
One possible solution to this problem is to convert these logarithmic values back into their previous linear form, and then compute their average. This particular method is unsatisfactory, however, because of the additional effort necessary to reconvert the values into linear form for averaging, and then reconvert them back into logarithmic form for further downstream processing.